#ifndef JUGADOR_H
#define	JUGADOR_H

#include <string>
#include "ISerializable.h"
#include "Excepcion.h"

using namespace std;
using namespace TP;
using namespace TP::Serializacion;

namespace TP { namespace Juego {

class Jugador : public ISerializable {
public:
    
    Jugador();
    
    Jugador(const string& pNobmre);

    virtual ~Jugador();
    
    const string& getNombre();
    
    double getPuntaje();
    
    double incrementarPuntaje (double pCantidad);
    
    virtual string aXML();
    
    virtual string aXML(const string& pPath);
    
    virtual void parseXML (const string& pDescriptor);
    
    virtual TiXmlElement* aElementoXML ();
    
    virtual void deElementoXML (TiXmlElement* pElemento); 
    
    bool operator== (const Jugador& pJugador);

    static Jugador* crearDeXML (const string& pDescriptor) throw (Excepcion&);
    
private:
    string _nombre;
    double _puntaje;
};
}}

#endif	/* JUGADOR_H */